<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.11.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>cppMISC: include/cconffile.hpp 源文件</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<script type="text/javascript" src="../../clipboard.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../cookie.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript" src="../../darkmode_toggle.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">cppMISC<span id="projectnumber">&#160;v1.1</span>
   </div>
   <div id="projectbrief">cppMisc 文档系统</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.11.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(1); });
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('../../',true,false,'search.php','搜索',false);
  $(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">载入中...</div>
<div class="SRStatus" id="Searching">搜索中...</div>
<div class="SRStatus" id="NoMatches">未找到</div>
</div>
</div>
</div>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="../../dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li>  </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
  <div class="headertitle"><div class="title">cconffile.hpp</div></div>
</div><!--header-->
<div class="contents">
<a href="../../da/dc0/cconffile_8hpp.html">浏览该文件的文档.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="comment">/*</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno">    2</span><span class="comment"> * @brief 配置文件模块。配置文件格式定义</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno">    3</span><span class="comment"> * @version 0.1</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span><span class="comment"> * @date 2016-11-24</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno">    5</span><span class="comment"> * @author 宋炜</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno">    6</span><span class="comment"> * 2018-3-18  添加数据更改功能 </span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno">    7</span><span class="comment"> * 2018-9-27  添加数据增加和删除功能</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span><span class="comment">*/</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="preprocessor">#pragma once</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span> </div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span><span class="preprocessor">#include &lt;tinyxml.h&gt;</span></div>
<div class="foldopen" id="foldopen00014" data-start="{" data-end="};">
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"><a class="line" href="../../dd/d8c/class_c_conf_file.html">   14</a></span><span class="keyword">class </span><a class="code hl_class" href="../../dd/d8c/class_c_conf_file.html">CConfFile</a></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span>{</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span>    <span class="comment">// 目录遍历模块，解析目录描述字符串，在XML文件节点中查找指定的节点。</span></div>
<div class="foldopen" id="foldopen00018" data-start="{" data-end="};">
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"><a class="line" href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html">   18</a></span>    <span class="keyword">class </span><a class="code hl_class" href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html">CPathTravler</a> {</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span>    <span class="keyword">public</span>:</div>
<div class="foldopen" id="foldopen00020" data-start="{" data-end="};">
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"><a class="line" href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#aab35e21c1f996228e561f968641612ba">   20</a></span>        <span class="keyword">enum</span> <a class="code hl_enumeration" href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#aab35e21c1f996228e561f968641612ba">emErrCode</a> {</div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"><a class="line" href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#aab35e21c1f996228e561f968641612baa7dc7771fabb025d7b976d57eb833d397">   21</a></span>            <a class="code hl_enumvalue" href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#aab35e21c1f996228e561f968641612baa7dc7771fabb025d7b976d57eb833d397">PATH_DATA_EMPTY</a> = -1000,</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"><a class="line" href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#aab35e21c1f996228e561f968641612baa2defdbb8464be20d7c78b5c408df8993">   22</a></span>            <a class="code hl_enumvalue" href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#aab35e21c1f996228e561f968641612baa2defdbb8464be20d7c78b5c408df8993">PATH_NOT_EXIST</a>,</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"><a class="line" href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#aab35e21c1f996228e561f968641612baaf72951ba7e32dfa48a89baf0ae0bbc3e">   23</a></span>            <a class="code hl_enumvalue" href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#aab35e21c1f996228e561f968641612baaf72951ba7e32dfa48a89baf0ae0bbc3e">ERR_GET_NAME</a>,</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"><a class="line" href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#aab35e21c1f996228e561f968641612baa01fdc834343f6e1e8ad3214cb559d343">   24</a></span>            <a class="code hl_enumvalue" href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#aab35e21c1f996228e561f968641612baa01fdc834343f6e1e8ad3214cb559d343">ERR_GET_ATTR</a>,</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"><a class="line" href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#aab35e21c1f996228e561f968641612baa2278f0ca47a7b4d87e023aae246d8e99">   25</a></span>            <a class="code hl_enumvalue" href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#aab35e21c1f996228e561f968641612baa2278f0ca47a7b4d87e023aae246d8e99">ERR_DATA_TYPE</a>,</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"><a class="line" href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#aab35e21c1f996228e561f968641612baad329ebf97165fb6cdcdfc36efd1a4b1d">   26</a></span>            <a class="code hl_enumvalue" href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#aab35e21c1f996228e561f968641612baad329ebf97165fb6cdcdfc36efd1a4b1d">ERR_FILE_DIR_FORMAT</a>,</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"><a class="line" href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#aab35e21c1f996228e561f968641612baaedef2480853d025e91c1d5092ae4086e">   27</a></span>            <a class="code hl_enumvalue" href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#aab35e21c1f996228e561f968641612baaedef2480853d025e91c1d5092ae4086e">ERR_DOM_OBJ</a>,</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span>            <a class="code hl_enumvalue" href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#aab35e21c1f996228e561f968641612baa9b734c9973a4ef94c82fea155ad5f2e2">OK</a> = 0</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"><a class="line" href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#aab35e21c1f996228e561f968641612baa9b734c9973a4ef94c82fea155ad5f2e2">   29</a></span>        };</div>
</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"><a class="line" href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#aa02b3648b918f7ae244e39acda032209">   30</a></span>        <span class="keyword">using </span><a class="code hl_typedef" href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#aa02b3648b918f7ae244e39acda032209">ArrayPath</a> = std::vector&lt; std::string&gt;;</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span>    <span class="keyword">public</span>:</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span>        <a class="code hl_friend" href="../../dd/d8c/class_c_conf_file.html#a5d1c415b0492d99688154066700f5ef1">CPathTravler</a>(<span class="keyword">const</span> std::string&amp; path, <a class="code hl_class" href="../../dd/d8c/class_c_conf_file.html">CConfFile</a>* conf, TiXmlElement* current = NULL);</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"><a class="line" href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#af6e60212e1ae24f149be528c8691d1aa">   39</a></span>        <span class="keyword">virtual</span> <a class="code hl_function" href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#af6e60212e1ae24f149be528c8691d1aa">~CPathTravler</a>() {}</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span>        TiXmlElement* <a class="code hl_function" href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#a5883dc8b181c7cb4144675f7e1837247">operator()</a>();</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span>        TiXmlElement* <a class="code hl_function" href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#a5883dc8b181c7cb4144675f7e1837247">operator()</a>(<span class="keyword">const</span> std::string&amp; path);</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span>        TiXmlElement* <a class="code hl_function" href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#a0297f57735f8bc66419241d203e23a95">Cd</a>(<span class="keyword">const</span> std::string&amp; path);</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span> </div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"><a class="line" href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#a0b7f6fcc9880ae526c270569d2be88a8">   53</a></span>        <span class="keyword">operator</span> bool() { <span class="keywordflow">return</span> (p_file != NULL); }</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span>    <span class="keyword">private</span>:</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span>        <span class="keywordtype">int</span> parse_path(<span class="keyword">const</span> std::string&amp; path);</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span>        <span class="keywordtype">int</span> run();</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</span> </div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno">   68</span>        <span class="keywordtype">int</span> go_to_parent();</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno">   72</span>        <span class="keywordtype">int</span> go_to_root();</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno">   76</span>        <span class="keywordtype">int</span> go_to_child(<span class="keyword">const</span> std::string&amp;);</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno">   80</span>        <span class="keywordtype">int</span> go_to_brother(<span class="keyword">const</span> std::string&amp;);</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno">   81</span>    <span class="keyword">private</span>:</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno">   82</span>        <a class="code hl_typedef" href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#aa02b3648b918f7ae244e39acda032209">ArrayPath</a>  m_path_data;</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno">   83</span>        TiXmlElement* p_current;       <span class="comment">//当前路径的指针</span></div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno">   84</span>        TiXmlElement* p_rst;           <span class="comment">//运行的结果</span></div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno">   85</span> </div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno">   86</span>        <a class="code hl_class" href="../../dd/d8c/class_c_conf_file.html">CConfFile</a>* p_file;</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno">   87</span>    };</div>
</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno">   88</span> </div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"><a class="line" href="../../dd/d8c/class_c_conf_file.html#a5d1c415b0492d99688154066700f5ef1">   89</a></span>    <span class="keyword">friend</span> <span class="keyword">class </span><a class="code hl_class" href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html">CPathTravler</a>;</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno">   90</span><span class="keyword">public</span>:</div>
<div class="foldopen" id="foldopen00091" data-start="{" data-end="};">
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"><a class="line" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758">   91</a></span>    <span class="keyword">enum</span> <a class="code hl_enumeration" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758">err_code</a>{</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"><a class="line" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758abb70b528ab557cfbce53eca543e30fa5">   92</a></span>        <a class="code hl_enumvalue" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758abb70b528ab557cfbce53eca543e30fa5">CAN_NOT_LOAD_FILE</a> = -2000,          <span class="comment">//无法装入配置文件</span></div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"><a class="line" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a163d2e5f942a8bd6583c9710d6bbd679">   93</a></span>        <a class="code hl_enumvalue" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a163d2e5f942a8bd6583c9710d6bbd679">ERR_FILE_NOT_EXIST</a>,         <span class="comment">//文件不存在</span></div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"><a class="line" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a41fe928b23223a3f61ad4dd1b1cb3fe8">   94</a></span>        <a class="code hl_enumvalue" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a41fe928b23223a3f61ad4dd1b1cb3fe8">CAN_NOT_FIND_XML_ROOT</a>,              <span class="comment">//无法找到XML根节点</span></div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"><a class="line" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a358c8ddba6e6324d7534b0abe7080440">   95</a></span>        <a class="code hl_enumvalue" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a358c8ddba6e6324d7534b0abe7080440">ERROR_FILE_VERSION</a>,                 <span class="comment">//文件版本错误</span></div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"><a class="line" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a241ae2f11099bce11025fc1678e7919c">   96</a></span>        <a class="code hl_enumvalue" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a241ae2f11099bce11025fc1678e7919c">ERROR_FILE_FORMAT</a>,                  <span class="comment">//文件格式错误</span></div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"><a class="line" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a81f5d4ce0a6f68ab16d9e8e3a4d13506">   97</a></span>        <a class="code hl_enumvalue" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a81f5d4ce0a6f68ab16d9e8e3a4d13506">ERROR_FILE_ROOT_NAME</a> ,              <span class="comment">//文件跟节点名称错误</span></div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"><a class="line" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a39f7b813c5320a4b578f0eee11d7cc46">   98</a></span>        <a class="code hl_enumvalue" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a39f7b813c5320a4b578f0eee11d7cc46">ERROR_VAR_NO_NAME</a>,                  <span class="comment">//变量没有名称</span></div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"><a class="line" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758ad6a8aa305fcc84f3a757d3822ebe0c95">   99</a></span>        <a class="code hl_enumvalue" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758ad6a8aa305fcc84f3a757d3822ebe0c95">ERROR_VAR_VALUE_TYPE</a>,               <span class="comment">//变量类型不匹配</span></div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"><a class="line" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a36ad61541e1132ad90a9c3599c75a99d">  100</a></span>        <a class="code hl_enumvalue" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a36ad61541e1132ad90a9c3599c75a99d">ERROR_FILE_DIR_FORMAT</a>,</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"><a class="line" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a4d54d2d348e4d4ce93ad3f1b44e9f097">  101</a></span>        <a class="code hl_enumvalue" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a4d54d2d348e4d4ce93ad3f1b44e9f097">ERROR_VAR_NOT_EXIST</a>,                <span class="comment">// 变量不存在</span></div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"><a class="line" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758aea25d60f60d9c112666709d929680ae7">  102</a></span>        <a class="code hl_enumvalue" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758aea25d60f60d9c112666709d929680ae7">ERR_GET_ATTR</a>,</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"><a class="line" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758afd9491bc381710230112ad53d1e1bcc6">  103</a></span>        <a class="code hl_enumvalue" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758afd9491bc381710230112ad53d1e1bcc6">ERROR_SAVE_FILE</a>,</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"><a class="line" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a3fd8786ea9067258f6614199727f67fa">  104</a></span>        <a class="code hl_enumvalue" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a3fd8786ea9067258f6614199727f67fa">ERR_PATH_GRRAMA</a>,                    <span class="comment">// 路径格式错误</span></div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"><a class="line" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a8b3ce858c471fa08b3a86914d8df3de9">  105</a></span>        <a class="code hl_enumvalue" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a8b3ce858c471fa08b3a86914d8df3de9">ERR_VAR_NAME_EMPTY</a>,                 <span class="comment">// 变量名称空</span></div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"><a class="line" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a2c7789c9afe0f9dd7e3e42cc83147a61">  106</a></span>        <a class="code hl_enumvalue" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a2c7789c9afe0f9dd7e3e42cc83147a61">ERR_PATH_NOT_EXIST</a>,                 <span class="comment">// 路径不存在</span></div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"><a class="line" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758adfde8edf04193fe62520b6b5a131bb3f">  107</a></span>        <a class="code hl_enumvalue" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758adfde8edf04193fe62520b6b5a131bb3f">ERR_GET_NAME</a>,</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"><a class="line" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a1effc4950c0cd75de6411e3882c78b2e">  108</a></span>        <a class="code hl_enumvalue" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a1effc4950c0cd75de6411e3882c78b2e">ERR_DEL_ROOT</a>,                       <span class="comment">// 执行了删除根节点的操作</span></div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"><a class="line" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758ad58e6bedc2bdfa31f1e16a7c5506b3e9">  109</a></span>        <a class="code hl_enumvalue" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758ad58e6bedc2bdfa31f1e16a7c5506b3e9">ERR_DEL_NODE</a>,                       <span class="comment">// 删除节点失败</span></div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"><a class="line" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a333a17f9ddb9a218d9b3364f03517a5c">  110</a></span>        <a class="code hl_enumvalue" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a333a17f9ddb9a218d9b3364f03517a5c">ERR_OBJ_NULL</a>,</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span>        <a class="code hl_enumvalue" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a103f8736cf4ccfd4b279a2270817201f">OK</a> = 0</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"><a class="line" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a103f8736cf4ccfd4b279a2270817201f">  112</a></span>    };</div>
</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span> </div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"><a class="line" href="../../dd/d8c/class_c_conf_file.html#a59930a5549106938084e54be868a59bd">  114</a></span>    <span class="keyword">typedef</span> <a class="code hl_enumeration" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758">err_code</a> <a class="code hl_typedef" href="../../dd/d8c/class_c_conf_file.html#a59930a5549106938084e54be868a59bd">e_error_conf_file</a>;</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"><a class="line" href="../../dd/d8c/class_c_conf_file.html#ab9c90b30f27c04c96a20d2695efe339a">  115</a></span>    <span class="keyword">typedef</span> <a class="code hl_enumeration" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758">err_code</a> <a class="code hl_typedef" href="../../dd/d8c/class_c_conf_file.html#ab9c90b30f27c04c96a20d2695efe339a">emErrCode</a>;</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span>    <a class="code hl_function" href="../../dd/d8c/class_c_conf_file.html#a77c68745bb2cc57400dee382aab63e43">CConfFile</a>( <span class="keyword">const</span> std::string&amp; file );</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span>    <span class="keyword">virtual</span> <a class="code hl_function" href="../../dd/d8c/class_c_conf_file.html#aece496e6e73eef8fa826f00de16df5a0">~CConfFile</a>();</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno">  122</span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d8c/class_c_conf_file.html#a9f1bc5dcc44a0058e9a07fcb5d200fbc">GetValue</a>( <span class="keyword">const</span> std::string&amp; var_name , std::string&amp; value );</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno">  123</span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d8c/class_c_conf_file.html#a9f1bc5dcc44a0058e9a07fcb5d200fbc">GetValue</a>( <span class="keyword">const</span> std::string&amp; var_name , <span class="keywordtype">int</span>&amp; value );</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno">  124</span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d8c/class_c_conf_file.html#a9f1bc5dcc44a0058e9a07fcb5d200fbc">GetValue</a>( <span class="keyword">const</span> std::string&amp; var_name , <span class="keywordtype">long</span>&amp; value );</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno">  125</span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d8c/class_c_conf_file.html#a9f1bc5dcc44a0058e9a07fcb5d200fbc">GetValue</a>( <span class="keyword">const</span> std::string&amp; var_name , <span class="keywordtype">bool</span>&amp; value );</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno">  126</span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d8c/class_c_conf_file.html#a9f1bc5dcc44a0058e9a07fcb5d200fbc">GetValue</a>( <span class="keyword">const</span> std::string&amp; var_name , <span class="keywordtype">float</span>&amp; value );</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno">  127</span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d8c/class_c_conf_file.html#a9f1bc5dcc44a0058e9a07fcb5d200fbc">GetValue</a>( <span class="keyword">const</span> std::string&amp; var_name , <span class="keywordtype">double</span>&amp; value );</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno">  131</span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d8c/class_c_conf_file.html#aa2fd27d86cbf777473c6e8c3f09d9bf0">SetValue</a>( <span class="keyword">const</span> std::string&amp; var , <span class="keyword">const</span> std::string&amp; v );</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno">  132</span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d8c/class_c_conf_file.html#aa2fd27d86cbf777473c6e8c3f09d9bf0">SetValue</a>( <span class="keyword">const</span> std::string&amp; var , <span class="keywordtype">int</span> v );</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno">  133</span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d8c/class_c_conf_file.html#aa2fd27d86cbf777473c6e8c3f09d9bf0">SetValue</a>( <span class="keyword">const</span> std::string&amp; var , <span class="keywordtype">long</span> v );</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno">  134</span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d8c/class_c_conf_file.html#aa2fd27d86cbf777473c6e8c3f09d9bf0">SetValue</a>( <span class="keyword">const</span> std::string&amp; var , <span class="keywordtype">bool</span> v );</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno">  135</span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d8c/class_c_conf_file.html#aa2fd27d86cbf777473c6e8c3f09d9bf0">SetValue</a>( <span class="keyword">const</span> std::string&amp; var , <span class="keywordtype">float</span> v );</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno">  136</span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d8c/class_c_conf_file.html#aa2fd27d86cbf777473c6e8c3f09d9bf0">SetValue</a>( <span class="keyword">const</span> std::string&amp; var , <span class="keywordtype">double</span> v );</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno">  144</span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d8c/class_c_conf_file.html#afa519850a4ea1b890f6e439b1cfc952e">AddValue</a>( <span class="keyword">const</span> std::string&amp; var , <span class="keyword">const</span> std::string&amp; v );</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno">  145</span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d8c/class_c_conf_file.html#afa519850a4ea1b890f6e439b1cfc952e">AddValue</a>( <span class="keyword">const</span> std::string&amp; var , <span class="keywordtype">int</span> v );</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno">  146</span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d8c/class_c_conf_file.html#afa519850a4ea1b890f6e439b1cfc952e">AddValue</a>( <span class="keyword">const</span> std::string&amp; var , <span class="keywordtype">long</span> v );</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno">  147</span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d8c/class_c_conf_file.html#afa519850a4ea1b890f6e439b1cfc952e">AddValue</a>( <span class="keyword">const</span> std::string&amp; var , <span class="keywordtype">bool</span> v );</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno">  148</span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d8c/class_c_conf_file.html#afa519850a4ea1b890f6e439b1cfc952e">AddValue</a>( <span class="keyword">const</span> std::string&amp; var , <span class="keywordtype">float</span> v );</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno">  149</span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d8c/class_c_conf_file.html#afa519850a4ea1b890f6e439b1cfc952e">AddValue</a>( <span class="keyword">const</span> std::string&amp; var , <span class="keywordtype">double</span> v );</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno">  156</span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d8c/class_c_conf_file.html#a3a92acce185607ecbba25373ab3bee16">Del</a>( <span class="keyword">const</span> std::string&amp; var , <span class="keywordtype">bool</span> del_children = <span class="keyword">true</span> );</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno">  160</span>    <span class="keywordtype">void</span> <a class="code hl_function" href="../../dd/d8c/class_c_conf_file.html#a9593d8525cee14f71e237132b9cfb5c5">Cd</a>( <span class="keyword">const</span> std::string&amp; path );</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno">  161</span> </div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno">  165</span>    <a class="code hl_enumeration" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758">e_error_conf_file</a> <a class="code hl_function" href="../../dd/d8c/class_c_conf_file.html#ab6c7313ecd7213f58cccd9406e6aa8a2">Save</a>();</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno">  166</span>    <a class="code hl_enumeration" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758">e_error_conf_file</a> <a class="code hl_function" href="../../dd/d8c/class_c_conf_file.html#ab6c7313ecd7213f58cccd9406e6aa8a2">Save</a>( <span class="keyword">const</span> std::string&amp; file );</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno">  167</span> </div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno">  168</span>    <span class="keyword">static</span> std::string <a class="code hl_function" href="../../dd/d8c/class_c_conf_file.html#aaa509fc847f8c74086983980237dea90">errMsg</a>( <a class="code hl_enumeration" href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758">emErrCode</a> e );</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno">  169</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno">  175</span>    <span class="keywordtype">bool</span> check_file();</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno">  182</span>    TiXmlElement* find_var( <span class="keyword">const</span> std::string&amp; name );</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno">  190</span>    <span class="keywordtype">bool</span> is_var( TiXmlElement * node );</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno">  191</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno">  192</span>    std::string         m_file;</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno">  193</span>    TiXmlDocument       m_doc;</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno">  194</span>    TiXmlElement*       p_root;</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno">  195</span>    TiXmlElement*       p_current;</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno">  196</span>};</div>
</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno">  197</span> </div>
<div class="ttc" id="aclass_c_conf_file_1_1_c_path_travler_html"><div class="ttname"><a href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html">CConfFile::CPathTravler</a></div><div class="ttdef"><b>定义</b> <a href="#l00018">cconffile.hpp:18</a></div></div>
<div class="ttc" id="aclass_c_conf_file_1_1_c_path_travler_html_a0297f57735f8bc66419241d203e23a95"><div class="ttname"><a href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#a0297f57735f8bc66419241d203e23a95">CConfFile::CPathTravler::Cd</a></div><div class="ttdeci">TiXmlElement * Cd(const std::string &amp;path)</div><div class="ttdef"><b>定义</b> <a href="../../d6/d0f/cconffile_8cpp_source.html#l00101">cconffile.cpp:101</a></div></div>
<div class="ttc" id="aclass_c_conf_file_1_1_c_path_travler_html_a5883dc8b181c7cb4144675f7e1837247"><div class="ttname"><a href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#a5883dc8b181c7cb4144675f7e1837247">CConfFile::CPathTravler::operator()</a></div><div class="ttdeci">TiXmlElement * operator()()</div><div class="ttdoc">获取路径的XML节点</div><div class="ttdef"><b>定义</b> <a href="../../d6/d0f/cconffile_8cpp_source.html#l00029">cconffile.cpp:30</a></div></div>
<div class="ttc" id="aclass_c_conf_file_1_1_c_path_travler_html_aa02b3648b918f7ae244e39acda032209"><div class="ttname"><a href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#aa02b3648b918f7ae244e39acda032209">CConfFile::CPathTravler::ArrayPath</a></div><div class="ttdeci">std::vector&lt; std::string &gt; ArrayPath</div><div class="ttdef"><b>定义</b> <a href="#l00030">cconffile.hpp:30</a></div></div>
<div class="ttc" id="aclass_c_conf_file_1_1_c_path_travler_html_aab35e21c1f996228e561f968641612ba"><div class="ttname"><a href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#aab35e21c1f996228e561f968641612ba">CConfFile::CPathTravler::emErrCode</a></div><div class="ttdeci">emErrCode</div><div class="ttdef"><b>定义</b> <a href="#l00020">cconffile.hpp:20</a></div></div>
<div class="ttc" id="aclass_c_conf_file_1_1_c_path_travler_html_aab35e21c1f996228e561f968641612baa01fdc834343f6e1e8ad3214cb559d343"><div class="ttname"><a href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#aab35e21c1f996228e561f968641612baa01fdc834343f6e1e8ad3214cb559d343">CConfFile::CPathTravler::ERR_GET_ATTR</a></div><div class="ttdeci">@ ERR_GET_ATTR</div><div class="ttdef"><b>定义</b> <a href="#l00024">cconffile.hpp:24</a></div></div>
<div class="ttc" id="aclass_c_conf_file_1_1_c_path_travler_html_aab35e21c1f996228e561f968641612baa2278f0ca47a7b4d87e023aae246d8e99"><div class="ttname"><a href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#aab35e21c1f996228e561f968641612baa2278f0ca47a7b4d87e023aae246d8e99">CConfFile::CPathTravler::ERR_DATA_TYPE</a></div><div class="ttdeci">@ ERR_DATA_TYPE</div><div class="ttdef"><b>定义</b> <a href="#l00025">cconffile.hpp:25</a></div></div>
<div class="ttc" id="aclass_c_conf_file_1_1_c_path_travler_html_aab35e21c1f996228e561f968641612baa2defdbb8464be20d7c78b5c408df8993"><div class="ttname"><a href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#aab35e21c1f996228e561f968641612baa2defdbb8464be20d7c78b5c408df8993">CConfFile::CPathTravler::PATH_NOT_EXIST</a></div><div class="ttdeci">@ PATH_NOT_EXIST</div><div class="ttdef"><b>定义</b> <a href="#l00022">cconffile.hpp:22</a></div></div>
<div class="ttc" id="aclass_c_conf_file_1_1_c_path_travler_html_aab35e21c1f996228e561f968641612baa7dc7771fabb025d7b976d57eb833d397"><div class="ttname"><a href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#aab35e21c1f996228e561f968641612baa7dc7771fabb025d7b976d57eb833d397">CConfFile::CPathTravler::PATH_DATA_EMPTY</a></div><div class="ttdeci">@ PATH_DATA_EMPTY</div><div class="ttdef"><b>定义</b> <a href="#l00021">cconffile.hpp:21</a></div></div>
<div class="ttc" id="aclass_c_conf_file_1_1_c_path_travler_html_aab35e21c1f996228e561f968641612baa9b734c9973a4ef94c82fea155ad5f2e2"><div class="ttname"><a href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#aab35e21c1f996228e561f968641612baa9b734c9973a4ef94c82fea155ad5f2e2">CConfFile::CPathTravler::OK</a></div><div class="ttdeci">@ OK</div><div class="ttdef"><b>定义</b> <a href="#l00029">cconffile.hpp:28</a></div></div>
<div class="ttc" id="aclass_c_conf_file_1_1_c_path_travler_html_aab35e21c1f996228e561f968641612baad329ebf97165fb6cdcdfc36efd1a4b1d"><div class="ttname"><a href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#aab35e21c1f996228e561f968641612baad329ebf97165fb6cdcdfc36efd1a4b1d">CConfFile::CPathTravler::ERR_FILE_DIR_FORMAT</a></div><div class="ttdeci">@ ERR_FILE_DIR_FORMAT</div><div class="ttdef"><b>定义</b> <a href="#l00026">cconffile.hpp:26</a></div></div>
<div class="ttc" id="aclass_c_conf_file_1_1_c_path_travler_html_aab35e21c1f996228e561f968641612baaedef2480853d025e91c1d5092ae4086e"><div class="ttname"><a href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#aab35e21c1f996228e561f968641612baaedef2480853d025e91c1d5092ae4086e">CConfFile::CPathTravler::ERR_DOM_OBJ</a></div><div class="ttdeci">@ ERR_DOM_OBJ</div><div class="ttdef"><b>定义</b> <a href="#l00027">cconffile.hpp:27</a></div></div>
<div class="ttc" id="aclass_c_conf_file_1_1_c_path_travler_html_aab35e21c1f996228e561f968641612baaf72951ba7e32dfa48a89baf0ae0bbc3e"><div class="ttname"><a href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#aab35e21c1f996228e561f968641612baaf72951ba7e32dfa48a89baf0ae0bbc3e">CConfFile::CPathTravler::ERR_GET_NAME</a></div><div class="ttdeci">@ ERR_GET_NAME</div><div class="ttdef"><b>定义</b> <a href="#l00023">cconffile.hpp:23</a></div></div>
<div class="ttc" id="aclass_c_conf_file_1_1_c_path_travler_html_af6e60212e1ae24f149be528c8691d1aa"><div class="ttname"><a href="../../df/d6f/class_c_conf_file_1_1_c_path_travler.html#af6e60212e1ae24f149be528c8691d1aa">CConfFile::CPathTravler::~CPathTravler</a></div><div class="ttdeci">virtual ~CPathTravler()</div><div class="ttdef"><b>定义</b> <a href="#l00039">cconffile.hpp:39</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html">CConfFile</a></div><div class="ttdef"><b>定义</b> <a href="#l00014">cconffile.hpp:15</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_a3a92acce185607ecbba25373ab3bee16"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#a3a92acce185607ecbba25373ab3bee16">CConfFile::Del</a></div><div class="ttdeci">void Del(const std::string &amp;var, bool del_children=true)</div><div class="ttdoc">删除数据。</div><div class="ttdef"><b>定义</b> <a href="../../d6/d0f/cconffile_8cpp_source.html#l00847">cconffile.cpp:847</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_a59930a5549106938084e54be868a59bd"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#a59930a5549106938084e54be868a59bd">CConfFile::e_error_conf_file</a></div><div class="ttdeci">err_code e_error_conf_file</div><div class="ttdef"><b>定义</b> <a href="#l00114">cconffile.hpp:114</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_a5d1c415b0492d99688154066700f5ef1"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#a5d1c415b0492d99688154066700f5ef1">CConfFile::CPathTravler</a></div><div class="ttdeci">friend class CPathTravler</div><div class="ttdef"><b>定义</b> <a href="#l00089">cconffile.hpp:89</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_a77c68745bb2cc57400dee382aab63e43"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#a77c68745bb2cc57400dee382aab63e43">CConfFile::CConfFile</a></div><div class="ttdeci">CConfFile(const std::string &amp;file)</div><div class="ttdef"><b>定义</b> <a href="../../d6/d0f/cconffile_8cpp_source.html#l00216">cconffile.cpp:216</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_a9593d8525cee14f71e237132b9cfb5c5"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#a9593d8525cee14f71e237132b9cfb5c5">CConfFile::Cd</a></div><div class="ttdeci">void Cd(const std::string &amp;path)</div><div class="ttdoc">更改当前路径</div><div class="ttdef"><b>定义</b> <a href="../../d6/d0f/cconffile_8cpp_source.html#l00241">cconffile.cpp:241</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_a9f1bc5dcc44a0058e9a07fcb5d200fbc"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#a9f1bc5dcc44a0058e9a07fcb5d200fbc">CConfFile::GetValue</a></div><div class="ttdeci">void GetValue(const std::string &amp;var_name, std::string &amp;value)</div><div class="ttdoc">获取变量数据</div><div class="ttdef"><b>定义</b> <a href="../../d6/d0f/cconffile_8cpp_source.html#l00292">cconffile.cpp:292</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_aa2fd27d86cbf777473c6e8c3f09d9bf0"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#aa2fd27d86cbf777473c6e8c3f09d9bf0">CConfFile::SetValue</a></div><div class="ttdeci">void SetValue(const std::string &amp;var, const std::string &amp;v)</div><div class="ttdoc">设置数据</div><div class="ttdef"><b>定义</b> <a href="../../d6/d0f/cconffile_8cpp_source.html#l00497">cconffile.cpp:497</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_aa493c79120d2da7433258e580b0c8758"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758">CConfFile::err_code</a></div><div class="ttdeci">err_code</div><div class="ttdef"><b>定义</b> <a href="#l00091">cconffile.hpp:91</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_aa493c79120d2da7433258e580b0c8758a103f8736cf4ccfd4b279a2270817201f"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a103f8736cf4ccfd4b279a2270817201f">CConfFile::OK</a></div><div class="ttdeci">@ OK</div><div class="ttdef"><b>定义</b> <a href="#l00112">cconffile.hpp:111</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_aa493c79120d2da7433258e580b0c8758a163d2e5f942a8bd6583c9710d6bbd679"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a163d2e5f942a8bd6583c9710d6bbd679">CConfFile::ERR_FILE_NOT_EXIST</a></div><div class="ttdeci">@ ERR_FILE_NOT_EXIST</div><div class="ttdef"><b>定义</b> <a href="#l00093">cconffile.hpp:93</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_aa493c79120d2da7433258e580b0c8758a1effc4950c0cd75de6411e3882c78b2e"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a1effc4950c0cd75de6411e3882c78b2e">CConfFile::ERR_DEL_ROOT</a></div><div class="ttdeci">@ ERR_DEL_ROOT</div><div class="ttdef"><b>定义</b> <a href="#l00108">cconffile.hpp:108</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_aa493c79120d2da7433258e580b0c8758a241ae2f11099bce11025fc1678e7919c"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a241ae2f11099bce11025fc1678e7919c">CConfFile::ERROR_FILE_FORMAT</a></div><div class="ttdeci">@ ERROR_FILE_FORMAT</div><div class="ttdef"><b>定义</b> <a href="#l00096">cconffile.hpp:96</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_aa493c79120d2da7433258e580b0c8758a2c7789c9afe0f9dd7e3e42cc83147a61"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a2c7789c9afe0f9dd7e3e42cc83147a61">CConfFile::ERR_PATH_NOT_EXIST</a></div><div class="ttdeci">@ ERR_PATH_NOT_EXIST</div><div class="ttdef"><b>定义</b> <a href="#l00106">cconffile.hpp:106</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_aa493c79120d2da7433258e580b0c8758a333a17f9ddb9a218d9b3364f03517a5c"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a333a17f9ddb9a218d9b3364f03517a5c">CConfFile::ERR_OBJ_NULL</a></div><div class="ttdeci">@ ERR_OBJ_NULL</div><div class="ttdef"><b>定义</b> <a href="#l00110">cconffile.hpp:110</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_aa493c79120d2da7433258e580b0c8758a358c8ddba6e6324d7534b0abe7080440"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a358c8ddba6e6324d7534b0abe7080440">CConfFile::ERROR_FILE_VERSION</a></div><div class="ttdeci">@ ERROR_FILE_VERSION</div><div class="ttdef"><b>定义</b> <a href="#l00095">cconffile.hpp:95</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_aa493c79120d2da7433258e580b0c8758a36ad61541e1132ad90a9c3599c75a99d"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a36ad61541e1132ad90a9c3599c75a99d">CConfFile::ERROR_FILE_DIR_FORMAT</a></div><div class="ttdeci">@ ERROR_FILE_DIR_FORMAT</div><div class="ttdef"><b>定义</b> <a href="#l00100">cconffile.hpp:100</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_aa493c79120d2da7433258e580b0c8758a39f7b813c5320a4b578f0eee11d7cc46"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a39f7b813c5320a4b578f0eee11d7cc46">CConfFile::ERROR_VAR_NO_NAME</a></div><div class="ttdeci">@ ERROR_VAR_NO_NAME</div><div class="ttdef"><b>定义</b> <a href="#l00098">cconffile.hpp:98</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_aa493c79120d2da7433258e580b0c8758a3fd8786ea9067258f6614199727f67fa"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a3fd8786ea9067258f6614199727f67fa">CConfFile::ERR_PATH_GRRAMA</a></div><div class="ttdeci">@ ERR_PATH_GRRAMA</div><div class="ttdef"><b>定义</b> <a href="#l00104">cconffile.hpp:104</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_aa493c79120d2da7433258e580b0c8758a41fe928b23223a3f61ad4dd1b1cb3fe8"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a41fe928b23223a3f61ad4dd1b1cb3fe8">CConfFile::CAN_NOT_FIND_XML_ROOT</a></div><div class="ttdeci">@ CAN_NOT_FIND_XML_ROOT</div><div class="ttdef"><b>定义</b> <a href="#l00094">cconffile.hpp:94</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_aa493c79120d2da7433258e580b0c8758a4d54d2d348e4d4ce93ad3f1b44e9f097"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a4d54d2d348e4d4ce93ad3f1b44e9f097">CConfFile::ERROR_VAR_NOT_EXIST</a></div><div class="ttdeci">@ ERROR_VAR_NOT_EXIST</div><div class="ttdef"><b>定义</b> <a href="#l00101">cconffile.hpp:101</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_aa493c79120d2da7433258e580b0c8758a81f5d4ce0a6f68ab16d9e8e3a4d13506"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a81f5d4ce0a6f68ab16d9e8e3a4d13506">CConfFile::ERROR_FILE_ROOT_NAME</a></div><div class="ttdeci">@ ERROR_FILE_ROOT_NAME</div><div class="ttdef"><b>定义</b> <a href="#l00097">cconffile.hpp:97</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_aa493c79120d2da7433258e580b0c8758a8b3ce858c471fa08b3a86914d8df3de9"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758a8b3ce858c471fa08b3a86914d8df3de9">CConfFile::ERR_VAR_NAME_EMPTY</a></div><div class="ttdeci">@ ERR_VAR_NAME_EMPTY</div><div class="ttdef"><b>定义</b> <a href="#l00105">cconffile.hpp:105</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_aa493c79120d2da7433258e580b0c8758abb70b528ab557cfbce53eca543e30fa5"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758abb70b528ab557cfbce53eca543e30fa5">CConfFile::CAN_NOT_LOAD_FILE</a></div><div class="ttdeci">@ CAN_NOT_LOAD_FILE</div><div class="ttdef"><b>定义</b> <a href="#l00092">cconffile.hpp:92</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_aa493c79120d2da7433258e580b0c8758ad58e6bedc2bdfa31f1e16a7c5506b3e9"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758ad58e6bedc2bdfa31f1e16a7c5506b3e9">CConfFile::ERR_DEL_NODE</a></div><div class="ttdeci">@ ERR_DEL_NODE</div><div class="ttdef"><b>定义</b> <a href="#l00109">cconffile.hpp:109</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_aa493c79120d2da7433258e580b0c8758ad6a8aa305fcc84f3a757d3822ebe0c95"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758ad6a8aa305fcc84f3a757d3822ebe0c95">CConfFile::ERROR_VAR_VALUE_TYPE</a></div><div class="ttdeci">@ ERROR_VAR_VALUE_TYPE</div><div class="ttdef"><b>定义</b> <a href="#l00099">cconffile.hpp:99</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_aa493c79120d2da7433258e580b0c8758adfde8edf04193fe62520b6b5a131bb3f"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758adfde8edf04193fe62520b6b5a131bb3f">CConfFile::ERR_GET_NAME</a></div><div class="ttdeci">@ ERR_GET_NAME</div><div class="ttdef"><b>定义</b> <a href="#l00107">cconffile.hpp:107</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_aa493c79120d2da7433258e580b0c8758aea25d60f60d9c112666709d929680ae7"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758aea25d60f60d9c112666709d929680ae7">CConfFile::ERR_GET_ATTR</a></div><div class="ttdeci">@ ERR_GET_ATTR</div><div class="ttdef"><b>定义</b> <a href="#l00102">cconffile.hpp:102</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_aa493c79120d2da7433258e580b0c8758afd9491bc381710230112ad53d1e1bcc6"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#aa493c79120d2da7433258e580b0c8758afd9491bc381710230112ad53d1e1bcc6">CConfFile::ERROR_SAVE_FILE</a></div><div class="ttdeci">@ ERROR_SAVE_FILE</div><div class="ttdef"><b>定义</b> <a href="#l00103">cconffile.hpp:103</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_aaa509fc847f8c74086983980237dea90"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#aaa509fc847f8c74086983980237dea90">CConfFile::errMsg</a></div><div class="ttdeci">static std::string errMsg(emErrCode e)</div><div class="ttdef"><b>定义</b> <a href="../../d6/d0f/cconffile_8cpp_source.html#l00891">cconffile.cpp:891</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_ab6c7313ecd7213f58cccd9406e6aa8a2"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#ab6c7313ecd7213f58cccd9406e6aa8a2">CConfFile::Save</a></div><div class="ttdeci">e_error_conf_file Save()</div><div class="ttdoc">保存文件</div><div class="ttdef"><b>定义</b> <a href="../../d6/d0f/cconffile_8cpp_source.html#l00949">cconffile.cpp:949</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_ab9c90b30f27c04c96a20d2695efe339a"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#ab9c90b30f27c04c96a20d2695efe339a">CConfFile::emErrCode</a></div><div class="ttdeci">err_code emErrCode</div><div class="ttdef"><b>定义</b> <a href="#l00115">cconffile.hpp:115</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_aece496e6e73eef8fa826f00de16df5a0"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#aece496e6e73eef8fa826f00de16df5a0">CConfFile::~CConfFile</a></div><div class="ttdeci">virtual ~CConfFile()</div><div class="ttdef"><b>定义</b> <a href="../../d6/d0f/cconffile_8cpp_source.html#l00290">cconffile.cpp:290</a></div></div>
<div class="ttc" id="aclass_c_conf_file_html_afa519850a4ea1b890f6e439b1cfc952e"><div class="ttname"><a href="../../dd/d8c/class_c_conf_file.html#afa519850a4ea1b890f6e439b1cfc952e">CConfFile::AddValue</a></div><div class="ttdeci">void AddValue(const std::string &amp;var, const std::string &amp;v)</div><div class="ttdoc">添加数据</div><div class="ttdef"><b>定义</b> <a href="../../d6/d0f/cconffile_8cpp_source.html#l00625">cconffile.cpp:625</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
制作者&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.11.0
</small></address>
</div><!-- doc-content -->
</body>
</html>
